package com.sojson.util.pay.wx.bean.child.response;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.sojson.base.impl.BaseUtilDto;

/**
 * 微信退款结果通知数据Bean
 * 
 * @author liu
 * @date 2021-03-16
 */
public class WxResResource extends BaseUtilDto {

    /***/
    private static final long serialVersionUID = 3161647699657852821L;

    /** 加密算法类型(目前只支持AEAD_AES_256_GCM) */
    private String algorithm;
    /** 原始类型 */
    private String originalType;
    /** 数据密文(Base64编码后的开启/停用结果数据密文) */
    private String ciphertext;
    /** 附加数据 */
    private String associatedData;
    /** 随机串(加密使用的随机串) */
    private String nonce;

    /**
     * 获取加密算法类型(目前只支持AEAD_AES_256_GCM)
     * 
     * @return
     */
    public String getAlgorithm() {
        return algorithm;
    }

    /**
     * 设置加密算法类型(目前只支持AEAD_AES_256_GCM)
     * 
     * @param algorithm
     */
    public void setAlgorithm(String algorithm) {
        this.algorithm = algorithm;
    }

    /**
     * 获取数据密文(Base64编码后的开启/停用结果数据密文)
     * 
     * @return
     */
    public String getCiphertext() {
        return ciphertext;
    }

    /**
     * 设置数据密文(Base64编码后的开启/停用结果数据密文)
     * 
     * @param ciphertext
     */
    public void setCiphertext(String ciphertext) {
        this.ciphertext = ciphertext;
    }

    /**
     * 获取附加数据
     * 
     * @return
     */
    public String getAssociatedData() {
        return associatedData;
    }

    /**
     * 设置附加数据
     * 
     * @param associatedData
     */
    @JsonProperty("associated_data")
    @JSONField(name = "associated_data")
    public void setAssociatedData(String associatedData) {
        this.associatedData = associatedData;
    }

    /**
     * 获取原始类型
     * 
     * @return
     */
    public String getOriginalType() {
        return originalType;
    }

    /**
     * 设置原始类型
     * 
     * @param originalType
     */
    @JsonProperty("original_type")
    @JSONField(name = "original_type")
    public void setOriginalType(String originalType) {
        this.originalType = originalType;
    }

    /**
     * 获取随机串(加密使用的随机串)
     * 
     * @return
     */
    public String getNonce() {
        return nonce;
    }

    /**
     * 设置随机串(加密使用的随机串)
     * 
     * @param nonce
     */
    public void setNonce(String nonce) {
        this.nonce = nonce;
    }

}